const state = {
	userinfo: '',
	token: "",
	//要设置的初始属性值
};
//实时监听state值的变化(最新状态)
const getters = {
	getuserinfo(state) { //方法名随意,主要是来承载变化的userinfo的值
		return state.userinfo
	},
	gettoken(state) {
		return state.token
	}
};
//第一参数未默认参数
//同步，执行this.$store.commit('')
const mutations = {
	setUserinfo(state, userinfo) { //自定义改变state初始值的方法，这里面的参数除了state之外还可以再传额外的参数(变量或对象);
		state.userinfo = userinfo
	},
	settoken(state, token) {
		state.token = token
	}
};
//异步，执行this.$store.dispatch('')
const actions = {
	ChangeUserinfo(context, userinfo) {  //自定义触发mutations里函数的方法，context与store 实例具有相同方法和属性
		context.commit('setUserinfo', userinfo);
	},
	Changetoken(context, token) {
		context.commit("settoken", token)
	}
};
export default {
	namespaced: true,//用于在全局引用此文件里的方法时标识这一个的文件名
	state,
	getters,
	mutations,
	actions
}